home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume12 / cdungeon / p5 next >
Encoding:
Internet Message Format  |  1991-05-20  |  54.4 KB

  1. Path: uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v12i072:  cdungeon - C language port of DECUS dungeon, Part05/12
  5. Message-ID: <1234@masterCNA.TEK.COM>
  6. Date: 14 May 91 23:50:14 GMT
  7. Sender: news@masterCNA.TEK.COM
  8. Lines: 1538
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: ian@airs.COM
  12. Posting-number: Volume 12, Issue 72
  13. Archive-name: cdungeon/Part05
  14. Environment: Unix, MS-DOS
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 5 (of 12)."
  25. # Contents:  gdt.c parse.h
  26. # Wrapped by billr@saab on Tue May 14 16:27:38 1991
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. if test -f 'gdt.c' -a "${1}" != "-c" ; then 
  29.   echo shar: Will not clobber existing file \"'gdt.c'\"
  30. else
  31. echo shar: Extracting \"'gdt.c'\" \(18109 characters\)
  32. sed "s/^X//" >'gdt.c' <<'END_OF_FILE'
  33. X/* GDT- GAME DEBUGGING TOOL */
  34. X
  35. X/*COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142*/
  36. X/* ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED */
  37. X/* WRITTEN BY R. M. SUPNIK */
  38. X
  39. X#include <stdio.h>
  40. X#include <ctype.h>
  41. X#include "funcs.h"
  42. X#include "vars.h"
  43. X#include "parse.h"
  44. X
  45. X#ifdef ALLOW_GDT
  46. X
  47. Xvoid gdt_()
  48. X{
  49. X    /* Initialized data */
  50. X
  51. X    const integer cmdmax = 38;
  52. X    const char *dbgcmd =
  53. X        "DRDODADCDXDHDLDVDFDSAFHENRNTNCNDRRRTRCRDTKEXARAOAAACAXAVD2DNANDMDTAHDPPDDZAZ";
  54. X    static const integer argtyp[38] = { 2,2,2,2,2,0,0,2,2,0,1,0,0,0,0,0,0,
  55. X        0,0,0,1,0,3,3,3,3,1,3,2,2,1,2,1,0,0,0,0,1 };
  56. X
  57. X    /* System generated locals */
  58. X    integer i__1, i__2;
  59. X
  60. X    /* Local variables */
  61. X    integer i, j, k, l, l1;
  62. X    char cmd[3];
  63. X    integer fmax, smax;
  64. X    char buf[80];
  65. X    char *z;
  66. X
  67. X/* FIRST, VALIDATE THAT THE CALLER IS AN IMPLEMENTER. */
  68. X
  69. X    fmax = 46;
  70. X/*                         !SET ARRAY LIMITS. */
  71. X    smax = 22;
  72. X
  73. X    if (debug_1.gdtflg != 0) {
  74. X    goto L2000;
  75. X    }
  76. X/*                         !IF OK, SKIP. */
  77. X    more_output("You are not an authorized user.");
  78. X/*                         !NOT AN IMPLEMENTER. */
  79. X    return;
  80. X/*                         !BOOT HIM OFF */
  81. X
  82. X/* GDT, PAGE 2A */
  83. X
  84. X/* HERE TO GET NEXT COMMAND */
  85. X
  86. XL2000:
  87. X    printf("GDT>");
  88. X/*                         !OUTPUT PROMPT. */
  89. X    (void) fflush(stdout);
  90. X    (void) fgets(buf, sizeof buf, stdin);
  91. X    more_input();
  92. X    cmd[0] = ' ';
  93. X    cmd[1] = ' ';
  94. X    sscanf(buf, "%2s", cmd);
  95. X/*                         !GET COMMAND. */
  96. X    if (cmd[0] == '\0')
  97. X    goto L2000;
  98. X/*                         !IGNORE BLANKS. */
  99. X    if (islower(cmd[0]))
  100. X    cmd[0] = toupper(cmd[0]);
  101. X    if (islower(cmd[1]))
  102. X    cmd[1] = toupper(cmd[1]);
  103. X    i__1 = cmdmax;
  104. X    for (i = 1; i <= i__1; ++i) {
  105. X/*                         !LOOK IT UP. */
  106. X    if (cmd[0] == dbgcmd[(i - 1) << 1] &&
  107. X        cmd[1] == dbgcmd[((i - 1) << 1) + 1]) {
  108. X        goto L2300;
  109. X    }
  110. X/*                         !FOUND? */
  111. X/* L2100: */
  112. X    }
  113. XL2200:
  114. X    more_output("?");
  115. X/*                         !NO, LOSE. */
  116. X    goto L2000;
  117. X
  118. X/* L230: */
  119. X/* L240: */
  120. X/* L225: */
  121. X/* L235: */
  122. X/* L245: */
  123. X
  124. XL2300:
  125. X    switch (argtyp[i - 1] + 1) {
  126. X    case 1:  goto L2400;
  127. X    case 2:  goto L2500;
  128. X    case 3:  goto L2600;
  129. X    case 4:  goto L2700;
  130. X    }
  131. X/*                         !BRANCH ON ARG TYPE. */
  132. X    goto L2200;
  133. X/*                         !ILLEGAL TYPE. */
  134. X
  135. XL2700:
  136. X    printf("Idx,Ary:  ");
  137. X/*                         !TYPE 3, REQUEST ARRAY COORDS. */
  138. X    (void) fflush(stdout);
  139. X    (void) fgets(buf, sizeof buf, stdin);
  140. X    more_input();
  141. X    for (z = buf; *z != '\0'; z++)
  142. X    if (*z == ',')
  143. X        *z = ' ';
  144. X    j = 0;
  145. X    k = 0;
  146. X    sscanf(buf, "%d %d", &j, &k);
  147. X    goto L2400;
  148. X
  149. XL2600:
  150. X    printf("Limits:   ");
  151. X/*                         !TYPE 2, READ BOUNDS. */
  152. X    (void) fflush(stdout);
  153. X    (void) fgets(buf, sizeof buf, stdin);
  154. X    more_input();
  155. X    for (z = buf; *z != '\0'; z++)
  156. X    if (*z == ',')
  157. X        *z = ' ';
  158. X    j = 0;
  159. X    k = 0;
  160. X    sscanf(buf, "%d %d", &j, &k);
  161. X    if (k == 0) {
  162. X    k = j;
  163. X    }
  164. X    goto L2400;
  165. X
  166. XL2500:
  167. X    printf("Entry:    ");
  168. X/*                         !TYPE 1, READ ENTRY NO. */
  169. X    (void) fflush(stdout);
  170. X    (void) fgets(buf, sizeof buf, stdin);
  171. X    more_input();
  172. X    j = 0;
  173. X    sscanf(buf, "%d", &j);
  174. X
  175. XL2400:
  176. X    switch (i) {
  177. X    case 1:  goto L10000;
  178. X    case 2:  goto L11000;
  179. X    case 3:  goto L12000;
  180. X    case 4:  goto L13000;
  181. X    case 5:  goto L14000;
  182. X    case 6:  goto L15000;
  183. X    case 7:  goto L16000;
  184. X    case 8:  goto L17000;
  185. X    case 9:  goto L18000;
  186. X    case 10:  goto L19000;
  187. X    case 11:  goto L20000;
  188. X    case 12:  goto L21000;
  189. X    case 13:  goto L22000;
  190. X    case 14:  goto L23000;
  191. X    case 15:  goto L24000;
  192. X    case 16:  goto L25000;
  193. X    case 17:  goto L26000;
  194. X    case 18:  goto L27000;
  195. X    case 19:  goto L28000;
  196. X    case 20:  goto L29000;
  197. X    case 21:  goto L30000;
  198. X    case 22:  goto L31000;
  199. X    case 23:  goto L32000;
  200. X    case 24:  goto L33000;
  201. X    case 25:  goto L34000;
  202. X    case 26:  goto L35000;
  203. X    case 27:  goto L36000;
  204. X    case 28:  goto L37000;
  205. X    case 29:  goto L38000;
  206. X    case 30:  goto L39000;
  207. X    case 31:  goto L40000;
  208. X    case 32:  goto L41000;
  209. X    case 33:  goto L42000;
  210. X    case 34:  goto L43000;
  211. X    case 35:  goto L44000;
  212. X    case 36:  goto L45000;
  213. X    case 37:  goto L46000;
  214. X    case 38:  goto L47000;
  215. X    }
  216. X    goto L2200;
  217. X/*                         !WHAT??? */
  218. X/* GDT, PAGE 3 */
  219. X
  220. X/* DR-- DISPLAY ROOMS */
  221. X
  222. XL10000:
  223. X    if (! (j > 0 && j <= rooms_1.rlnt && (k > 0 && k <= rooms_1.rlnt) && j <= 
  224. X        k)) {
  225. X    goto L2200;
  226. X    }
  227. X/*                         !ARGS VALID? */
  228. X    more_output("RM#  DESC1  DESC2  EXITS ACTION  VALUE  FLAGS");
  229. X/*                         !COL HDRS. */
  230. X    i__1 = k;
  231. X    for (i = j; i <= i__1; ++i) {
  232. X    more_output(NULL);
  233. X    printf("%3d", i);
  234. X    for (l = 1; l <= 6; ++l)
  235. X        printf(" %6d", eqr[i + l * 200 - 201]);
  236. X    printf("\n");
  237. X
  238. X/* L10100: */
  239. X    }
  240. X    goto L2000;
  241. X
  242. X
  243. X/* DO-- DISPLAY OBJECTS */
  244. X
  245. XL11000:
  246. X    if (! (j > 0 && j <= objcts_1.olnt && (k > 0 && k <= objcts_1.olnt) && j 
  247. X        <= k)) {
  248. X    goto L2200;
  249. X    }
  250. X/*                         !ARGS VALID? */
  251. X    more_output("OB# DESC1 DESC2 DESCO ACT FLAGS1 FLAGS2 FVL TVL      SIZE CAPAC ROOM ADV CON  READ");
  252. X/*                         !COL HDRS */
  253. X    i__1 = k;
  254. X    for (i = j; i <= i__1; ++i) {
  255. X    more_output(NULL);
  256. X    printf("%3d%6d%6d%6d%4d%7d%7d%4d%4d%6d%6d %4d%4d%4d%6d\n",
  257. X        i, eqo[i + 1 * 220 - 221], eqo[i + 2 * 220 - 221],
  258. X        eqo[i + 3 * 220 - 221], eqo[i + 4 * 220 - 221],
  259. X        eqo[i + 5 * 220 - 221], eqo[i + 6 * 220 - 221],
  260. X        eqo[i + 7 * 220 - 221], eqo[i + 8 * 220 - 221],
  261. X        eqo[i + 9 * 220 - 221], eqo[i + 10 * 220 - 221],
  262. X        eqo[i + 11 * 220 - 221], eqo[i + 12 * 220 - 221],
  263. X        eqo[i + 13 * 220 - 221], eqo[i + 14 * 220 - 221]);
  264. X
  265. X/* L11100: */
  266. X    }
  267. X    goto L2000;
  268. X
  269. X
  270. X/* DA-- DISPLAY ADVENTURERS */
  271. X
  272. XL12000:
  273. X    if (! (j > 0 && j <= advs_1.alnt && (k > 0 && k <= advs_1.alnt) && j <= k)
  274. X        ) {
  275. X    goto L2200;
  276. X    }
  277. X/*                         !ARGS VALID? */
  278. X    more_output("AD#   ROOM  SCORE  VEHIC OBJECT ACTION  STREN  FLAGS");
  279. X    i__1 = k;
  280. X    for (i = j; i <= i__1; ++i) {
  281. X    more_output(NULL);
  282. X    printf("%3d", i);
  283. X    for (l = 1; l <= 7; ++l)
  284. X        printf(" %6d", eqa[i + (l << 2) -  5]);
  285. X    printf("\n");
  286. X/* L12100: */
  287. X    }
  288. X    goto L2000;
  289. X
  290. X
  291. X/* DC-- DISPLAY CLOCK EVENTS */
  292. X
  293. XL13000:
  294. X    if (! (j > 0 && j <= cevent_1.clnt && (k > 0 && k <= cevent_1.clnt) && j 
  295. X        <= k)) {
  296. X    goto L2200;
  297. X    }
  298. X/*                         !ARGS VALID? */
  299. X    more_output("CL#   TICK ACTION  FLAG");
  300. X    i__1 = k;
  301. X    for (i = j; i <= i__1; ++i) {
  302. X    more_output(NULL);
  303. X    printf("%3d %6d %6d     %c\n", i, eqc[i + 1 * 25 - 26],
  304. X        eqc[i + 2 * 25 - 26],
  305. X        cevent_1.cflag[i - 1] ? 'T' : 'F');
  306. X/* L13100: */
  307. X    }
  308. X    goto L2000;
  309. X
  310. X
  311. X/* DX-- DISPLAY EXITS */
  312. X
  313. XL14000:
  314. X    if (! (j > 0 && j <= exits_1.xlnt && (k > 0 && k <= exits_1.xlnt) && j <= 
  315. X        k)) {
  316. X    goto L2200;
  317. X    }
  318. X/*                         !ARGS VALID? */
  319. X    more_output("  RANGE   CONTENTS");
  320. X/*                         !COL HDRS. */
  321. X    i__1 = k;
  322. X    for (i = j; i <= i__1; i += 10) {
  323. X/*                         !TEN PER LINE. */
  324. X/* Computing MIN */
  325. X    i__2 = i + 9;
  326. X    l = min(i__2,k);
  327. X/*                         !COMPUTE END OF LINE. */
  328. X    more_output(NULL);
  329. X    printf("%3d-%3d  ", i, l);
  330. X    for (l1 = i; l1 <= l; ++l1)
  331. X        printf("%7d", exits_1.travel[l1 - 1]);
  332. X    printf("\n");
  333. X/* L14100: */
  334. X    }
  335. X    goto L2000;
  336. X
  337. X
  338. X/* DH-- DISPLAY HACKS */
  339. X
  340. XL15000:
  341. X    more_output(NULL);
  342. X    printf("THFPOS= %d, THFFLG= %c, THFACT= %c\n",
  343. X       hack_1.thfpos, hack_1.thfflg ? 'T' : 'F',
  344. X       hack_1.thfact ? 'T' : 'F');
  345. X    more_output(NULL);
  346. X    printf("SWDACT= %c, SWDSTA= %d\n", hack_1.swdact ? 'T' : 'F',
  347. X       hack_1.swdsta);
  348. X    goto L2000;
  349. X
  350. X
  351. X/* DL-- DISPLAY LENGTHS */
  352. X
  353. XL16000:
  354. X    more_output(NULL);
  355. X    printf("R=%d, X=%d, O=%d, C=%d\n", rooms_1.rlnt, exits_1.xlnt,
  356. X       objcts_1.olnt, cevent_1.clnt);
  357. X    more_output(NULL);
  358. X    printf("V=%d, A=%d, M=%d, R2=%d\n", vill_1.vlnt, advs_1.alnt,
  359. X       rmsg_1.mlnt, oroom2_1.r2lnt);
  360. X    more_output(NULL);
  361. X    printf("MBASE=%d, STRBIT=%d\n", star_1.mbase, star_1.strbit);
  362. X    goto L2000;
  363. X
  364. X
  365. X/* DV-- DISPLAY VILLAINS */
  366. X
  367. XL17000:
  368. X    if (! (j > 0 && j <= vill_1.vlnt && (k > 0 && k <= vill_1.vlnt) && j <= k)
  369. X        ) {
  370. X    goto L2200;
  371. X    }
  372. X/*                         !ARGS VALID? */
  373. X    more_output("VL# OBJECT   PROB   OPPS   BEST  MELEE");
  374. X/*                         !COL HDRS */
  375. X    i__1 = k;
  376. X    for (i = j; i <= i__1; ++i) {
  377. X    more_output(NULL);
  378. X    printf("%3d", i);
  379. X    for (l = 1; l <= 5; ++l)
  380. X        printf(" %6d", eqv[i + (l << 2) - 5]);
  381. X    printf("\n");
  382. X/* L17100: */
  383. X    }
  384. X    goto L2000;
  385. X
  386. X
  387. X/* DF-- DISPLAY FLAGS */
  388. X
  389. XL18000:
  390. X    if (! (j > 0 && j <= fmax && (k > 0 && k <= fmax) && j <= k)) {
  391. X    goto L2200;
  392. X    }
  393. X/*                         !ARGS VALID? */
  394. X    i__1 = k;
  395. X    for (i = j; i <= i__1; ++i) {
  396. X    more_output(NULL);
  397. X    printf("Flag #%-2d = %c\n", i, flags[i - 1] ? 'T' : 'F');
  398. X/* L18100: */
  399. X    }
  400. X    goto L2000;
  401. X
  402. X
  403. X/* DS-- DISPLAY STATE */
  404. X
  405. XL19000:
  406. X    more_output(NULL);
  407. X    printf("Parse vector= %6d %6d %6d      %c %6d\n",
  408. X       prsvec_1.prsa, prsvec_1.prso, prsvec_1.prsi,
  409. X       prsvec_1.prswon ? 'T' : 'F', prsvec_1.prscon);
  410. X    more_output(NULL);
  411. X    printf("Play vector=  %6d %6d      %c\n", play_1.winner, play_1.here,
  412. X        play_1.telflg ? 'T' : 'F');
  413. X    more_output(NULL);
  414. X    printf("State vector= %6d %6d %6d %6d %6d %6d %6d %6d %6d\n",
  415. X       state_1.moves, state_1.deaths, state_1.rwscor, state_1.mxscor,
  416. X       state_1.mxload, state_1.ltshft, state_1.bloc, state_1.mungrm,
  417. X       state_1.hs);
  418. X    more_output(NULL);
  419. X    printf("              %6d %6d\n", state_1.egscor, state_1.egmxsc);
  420. X    more_output(NULL);
  421. X    printf("Scol vector=  %6d %6d %6d\n", screen_1.fromdr,
  422. X       screen_1.scolrm, screen_1.scolac);
  423. X    goto L2000;
  424. X
  425. X/* GDT, PAGE 4 */
  426. X
  427. X/* AF-- ALTER FLAGS */
  428. X
  429. XL20000:
  430. X    if (! (j > 0 && j <= fmax)) {
  431. X    goto L2200;
  432. X    }
  433. X/*                         !ENTRY NO VALID? */
  434. X    printf("Old= %c      New= ", flags[j - 1] ? 'T' : 'F');
  435. X/*                         !TYPE OLD, GET NEW. */
  436. X    (void) fflush(stdout);
  437. X    (void) fgets(buf, sizeof buf, stdin);
  438. X    more_input();
  439. X    for (z = buf; *z != '\0'; z++) {
  440. X    if (! isspace(*z)) {
  441. X        if (*z == 't' || *z == 'T')
  442. X        flags[j - 1] = 1;
  443. X        else if (*z == 'f' || *z == 'F')
  444. X        flags[j - 1] = 0;
  445. X        break;
  446. X    }
  447. X    }
  448. X    goto L2000;
  449. X
  450. X
  451. X/* 21000-- HELP */
  452. X
  453. XL21000:
  454. X    more_output("Valid commands are:");
  455. X    more_output("AA- Alter ADVS          DR- Display ROOMS");
  456. X    more_output("AC- Alter CEVENT        DS- Display state");
  457. X    more_output("AF- Alter FINDEX        DT- Display text");
  458. X    more_output("AH- Alter HERE          DV- Display VILLS");
  459. X    more_output("AN- Alter switches      DX- Display EXITS");
  460. X    more_output("AO- Alter OBJCTS        DZ- Display PUZZLE");
  461. X    more_output("AR- Alter ROOMS         D2- Display ROOM2");
  462. X    more_output("AV- Alter VILLS         EX- Exit");
  463. X    more_output("AX- Alter EXITS         HE- Type this message");
  464. X    more_output("AZ- Alter PUZZLE        NC- No cyclops");
  465. X    more_output("DA- Display ADVS        ND- No deaths");
  466. X    more_output("DC- Display CEVENT      NR- No robber");
  467. X    more_output("DF- Display FINDEX      NT- No troll");
  468. X    more_output("DH- Display HACKS       PD- Program detail");
  469. X    more_output("DL- Display lengths     RC- Restore cyclops");
  470. X    more_output("DM- Display RTEXT       RD- Restore deaths");
  471. X    more_output("DN- Display switches    RR- Restore robber");
  472. X    more_output("DO- Display OBJCTS      RT- Restore troll");
  473. X    more_output("DP- Display parser      TK- Take");
  474. X    goto L2000;
  475. X
  476. X/* NR-- NO ROBBER */
  477. X
  478. XL22000:
  479. X    hack_1.thfflg = FALSE_;
  480. X/*                         !DISABLE ROBBER. */
  481. X    hack_1.thfact = FALSE_;
  482. X    newsta_(oindex_1.thief, 0, 0, 0, 0);
  483. X/*                         !VANISH THIEF. */
  484. X    more_output("No robber.");
  485. X    goto L2000;
  486. X
  487. X/* NT-- NO TROLL */
  488. X
  489. XL23000:
  490. X    findex_1.trollf = TRUE_;
  491. X    newsta_(oindex_1.troll, 0, 0, 0, 0);
  492. X    more_output("No troll.");
  493. X    goto L2000;
  494. X
  495. X/* NC-- NO CYCLOPS */
  496. X
  497. XL24000:
  498. X    findex_1.cyclof = TRUE_;
  499. X    newsta_(oindex_1.cyclo, 0, 0, 0, 0);
  500. X    more_output("No cyclops.");
  501. X    goto L2000;
  502. X
  503. X/* ND-- IMMORTALITY MODE */
  504. X
  505. XL25000:
  506. X    debug_1.dbgflg = 1;
  507. X    more_output("No deaths.");
  508. X    goto L2000;
  509. X
  510. X/* RR-- RESTORE ROBBER */
  511. X
  512. XL26000:
  513. X    hack_1.thfact = TRUE_;
  514. X    more_output("Restored robber.");
  515. X    goto L2000;
  516. X
  517. X/* RT-- RESTORE TROLL */
  518. X
  519. XL27000:
  520. X    findex_1.trollf = FALSE_;
  521. X    newsta_(oindex_1.troll, 0, rindex_1.mtrol, 0, 0);
  522. X    more_output("Restored troll.");
  523. X    goto L2000;
  524. X
  525. X/* RC-- RESTORE CYCLOPS */
  526. X
  527. XL28000:
  528. X    findex_1.cyclof = FALSE_;
  529. X    findex_1.magicf = FALSE_;
  530. X    newsta_(oindex_1.cyclo, 0, rindex_1.mcycl, 0, 0);
  531. X    more_output("Restored cyclops.");
  532. X    goto L2000;
  533. X
  534. X
  535. X/* RD-- MORTAL MODE */
  536. X
  537. XL29000:
  538. X    debug_1.dbgflg = 0;
  539. X    more_output("Restored deaths.");
  540. X    goto L2000;
  541. X
  542. X/* GDT, PAGE 5 */
  543. X
  544. X/* TK-- TAKE */
  545. X
  546. XL30000:
  547. X    if (! (j > 0 && j <= objcts_1.olnt)) {
  548. X    goto L2200;
  549. X    }
  550. X/*                         !VALID OBJECT? */
  551. X    newsta_(j, 0, 0, 0, play_1.winner);
  552. X/*                         !YES, TAKE OBJECT. */
  553. X    more_output("Taken.");
  554. X/*                         !TELL. */
  555. X    goto L2000;
  556. X
  557. X
  558. X/* EX-- GOODBYE */
  559. X
  560. XL31000:
  561. X    prsvec_1.prscon = 1;
  562. X    return;
  563. X
  564. X/* AR--    ALTER ROOM ENTRY */
  565. X
  566. XL32000:
  567. X    if (! (j > 0 && j <= rooms_1.rlnt && (k > 0 && k <= 5))) {
  568. X    goto L2200;
  569. X    }
  570. X/*                         !INDICES VALID? */
  571. X    printf("Old = %6d      New = ", eqr[j + k * 200 - 201]);
  572. X/*                         !TYPE OLD, GET NEW. */
  573. X    (void) fflush(stdout);
  574. X    (void) fgets(buf, sizeof buf, stdin);
  575. X    more_input();
  576. X    sscanf(buf, "%d", &eqr[j + k * 200 - 201]);
  577. X    goto L2000;
  578. X
  579. X
  580. X/* AO-- ALTER OBJECT ENTRY */
  581. X
  582. XL33000:
  583. X    if (! (j > 0 && j <= objcts_1.olnt && (k > 0 && k <= 14))) {
  584. X    goto L2200;
  585. X    }
  586. X/*                         !INDICES VALID? */
  587. X    printf("Old = %6d      New = ", eqo[j + k * 200 - 201]);
  588. X    (void) fflush(stdout);
  589. X    (void) fgets(buf, sizeof buf, stdin);
  590. X    more_input();
  591. X    sscanf(buf, "%d", &eqo[j + k * 220 - 221]);
  592. X    goto L2000;
  593. X
  594. X/* AA-- ALTER ADVS ENTRY */
  595. X
  596. XL34000:
  597. X    if (! (j > 0 && j <= advs_1.alnt && (k > 0 && k <= 7))) {
  598. X    goto L2200;
  599. X    }
  600. X/*                         !INDICES VALID? */
  601. X    printf("Old = %6d      New = ", eqa[j + (k << 2) - 5]);
  602. X    (void) fflush(stdout);
  603. X    (void) fgets(buf, sizeof buf, stdin);
  604. X    more_input();
  605. X    sscanf(buf, "%d", &eqa[j + (k << 2) - 5]);
  606. X    goto L2000;
  607. X
  608. X/* AC-- ALTER CLOCK EVENTS */
  609. X
  610. XL35000:
  611. X    if (! (j > 0 && j <= cevent_1.clnt && (k > 0 && k <= 3))) {
  612. X    goto L2200;
  613. X    }
  614. X/*                         !INDICES VALID? */
  615. X    if (k == 3) {
  616. X    goto L35500;
  617. X    }
  618. X/*                         !FLAGS ENTRY? */
  619. X    printf("Old = %6d      New = ", eqc[j + k * 25 - 26]);
  620. X    (void) fflush(stdout);
  621. X    (void) fgets(buf, sizeof buf, stdin);
  622. X    more_input();
  623. X    sscanf(buf, "%d", &eqc[j + k * 25 - 26]);
  624. X    goto L2000;
  625. X
  626. XL35500:
  627. X    (void) fflush(stdout);
  628. X    (void) fgets(buf, sizeof buf, stdin);
  629. X    more_input();
  630. X    for (z = buf; *z != '\0'; z++) {
  631. X    if (! isspace(*z)) {
  632. X        if (*z == 't' || *z == 'T')
  633. X        cevent_1.cflag[j - 1] = 1;
  634. X        else if (*z == 'f' || *z == 'F')
  635. X        cevent_1.cflag[j - 1] = 0;
  636. X        break;
  637. X    }
  638. X    }
  639. X    goto L2000;
  640. X/* GDT, PAGE 6 */
  641. X
  642. X/* AX-- ALTER EXITS */
  643. X
  644. XL36000:
  645. X    if (! (j > 0 && j <= exits_1.xlnt)) {
  646. X    goto L2200;
  647. X    }
  648. X/*                         !ENTRY NO VALID? */
  649. X    printf("Old= %6d     New= ", exits_1.travel[j - 1]);
  650. X    (void) fflush(stdout);
  651. X    (void) fgets(buf, sizeof buf, stdin);
  652. X    more_input();
  653. X    sscanf(buf, "%d", &exits_1.travel[j - 1]);
  654. X    goto L2000;
  655. X
  656. X
  657. X/* AV-- ALTER VILLAINS */
  658. X
  659. XL37000:
  660. X    if (! (j > 0 && j <= vill_1.vlnt && (k > 0 && k <= 5))) {
  661. X    goto L2200;
  662. X    }
  663. X/*                         !INDICES VALID? */
  664. X    printf("Old = %6d      New= ", eqv[j + (k << 2) - 5]);
  665. X    (void) fflush(stdout);
  666. X    (void) fgets(buf, sizeof buf, stdin);
  667. X    more_input();
  668. X    sscanf(buf, "%d", &eqv[j + (k << 2) - 5]);
  669. X    goto L2000;
  670. X
  671. X/* D2-- DISPLAY ROOM2 LIST */
  672. X
  673. XL38000:
  674. X    if (! (j > 0 && j <= oroom2_1.r2lnt && (k > 0 && k <= oroom2_1.r2lnt) && 
  675. X        j <= k)) {
  676. X    goto L2200;
  677. X    }
  678. X    i__1 = k;
  679. X    for (i = j; i <= i__1; ++i) {
  680. X    more_output(NULL);
  681. X    printf("#%2d   Room=%6d   Obj=%6d\n", i,
  682. X        oroom2_1.rroom2[i - 1], oroom2_1.oroom2[i - 1]);
  683. X/* L38100: */
  684. X    }
  685. X    goto L2000;
  686. X
  687. X
  688. X/* DN-- DISPLAY SWITCHES */
  689. X
  690. XL39000:
  691. X    if (! (j > 0 && j <= smax && (k > 0 && k <= smax) && j <= k)) {
  692. X    goto L2200;
  693. X    }
  694. X/*                         !VALID? */
  695. X    i__1 = k;
  696. X    for (i = j; i <= i__1; ++i) {
  697. X    more_output(NULL);
  698. X    printf("Switch #%-2d = %d\n", i, switch_[i - 1]);
  699. X/* L39100: */
  700. X    }
  701. X    goto L2000;
  702. X
  703. X
  704. X/* AN-- ALTER SWITCHES */
  705. X
  706. XL40000:
  707. X    if (! (j > 0 && j <= smax)) {
  708. X    goto L2200;
  709. X    }
  710. X/*                         !VALID ENTRY? */
  711. X    printf("Old= %6d      New= ", switch_[j - 1]);
  712. X    (void) fflush(stdout);
  713. X    (void) fgets(buf, sizeof buf, stdin);
  714. X    more_input();
  715. X    sscanf(buf, "%d", &switch_[j - 1]);
  716. X    goto L2000;
  717. X
  718. X/* DM-- DISPLAY MESSAGES */
  719. X
  720. XL41000:
  721. X    if (! (j > 0 && j <= rmsg_1.mlnt && (k > 0 && k <= rmsg_1.mlnt) && j <= k)
  722. X        ) {
  723. X    goto L2200;
  724. X    }
  725. X/*                         !VALID LIMITS? */
  726. X    more_output("  RANGE   CONTENTS");
  727. X    i__1 = k;
  728. X    for (i = j; i <= i__1; i += 10) {
  729. X    more_output(NULL);
  730. X/* Computing MIN */
  731. X    i__2 = i + 9;
  732. X    l = min(i__2,k);
  733. X    printf("%3d-%3d  ", i, l);
  734. X    for (l1 = i; l1 <= l; ++l1)
  735. X        printf(" %6d", rmsg_1.rtext[l1 - 1]);
  736. X    printf("\n");
  737. X/* L41100: */
  738. X    }
  739. X    goto L2000;
  740. X
  741. X
  742. X/* DT-- DISPLAY TEXT */
  743. X
  744. XL42000:
  745. X    rspeak_(j);
  746. X    goto L2000;
  747. X
  748. X/* AH--    ALTER HERE */
  749. X
  750. XL43000:
  751. X    printf("Old= %6d      New= ", play_1.here);
  752. X    (void) fflush(stdout);
  753. X    (void) fgets(buf, sizeof buf, stdin);
  754. X    more_input();
  755. X    sscanf(buf, "%d", &play_1.here);
  756. X    eqa[0] = play_1.here;
  757. X    goto L2000;
  758. X
  759. X/* DP--    DISPLAY PARSER STATE */
  760. X
  761. XL44000:
  762. X    more_output(NULL);
  763. X    printf("ORPHS= %7d%7d%7d%7d%7d%7d\n",
  764. X       orp[0], orp[1], orp[2], orp[3], orp[4], last_1.lastit);
  765. X    more_output(NULL);
  766. X    printf("PV=    %7d%7d%7d%7d%7d\n",
  767. X       pvec[0], pvec[1], pvec[2], pvec[3], pvec[4]);
  768. X    more_output(NULL);
  769. X    printf("SYN=   %7d%7d%7d%7d%7d%7d\n",
  770. X       syn[0], syn[1], syn[2], syn[3], syn[4], syn[5]);
  771. X    more_output(NULL);
  772. X    printf("              %7d%7d%7d%7d%7d\n",
  773. X       syn[6], syn[7], syn[8], syn[9], syn[10]);
  774. X    goto L2000;
  775. X
  776. X
  777. X/* PD--    PROGRAM DETAIL DEBUG */
  778. X
  779. XL45000:
  780. X    printf("Old= %6d      New= ", debug_1.prsflg);
  781. X/*                         !TYPE OLD, GET NEW. */
  782. X    (void) fflush(stdout);
  783. X    (void) fgets(buf, sizeof buf, stdin);
  784. X    more_input();
  785. X    sscanf(buf, "%d", &debug_1.prsflg);
  786. X    goto L2000;
  787. X
  788. X/* DZ--    DISPLAY PUZZLE ROOM */
  789. X
  790. XL46000:
  791. X    for (i = 1; i <= 64; i += 8) {
  792. X/*                         !DISPLAY PUZZLE */
  793. X    more_output(NULL);
  794. X    printf(" ");
  795. X    for (j = i; j <= i + 7; ++j)
  796. X         printf("%3d", puzzle_1.cpvec[j - 1]);
  797. X    printf("\n");
  798. X/* L46100: */
  799. X    }
  800. X    goto L2000;
  801. X
  802. X
  803. X/* AZ--    ALTER PUZZLE ROOM */
  804. X
  805. XL47000:
  806. X    if (! (j > 0 && j <= 64)) {
  807. X    goto L2200;
  808. X    }
  809. X/*                         !VALID ENTRY? */
  810. X    printf("Old= %6d      New= ", puzzle_1.cpvec[j - 1]);
  811. X/*                         !OUTPUT OLD, */
  812. X    (void) fflush(stdout);
  813. X    (void) fgets(buf, sizeof buf, stdin);
  814. X    more_input();
  815. X    sscanf(buf, "%d", &puzzle_1.cpvec[j - 1]);
  816. X    goto L2000;
  817. X
  818. X} /* gdt_ */
  819. X
  820. X#endif /* ALLOW_GDT */
  821. END_OF_FILE
  822. if test 18109 -ne `wc -c <'gdt.c'`; then
  823.     echo shar: \"'gdt.c'\" unpacked with wrong size!
  824. fi
  825. # end of 'gdt.c'
  826. fi
  827. if test -f 'parse.h' -a "${1}" != "-c" ; then 
  828.   echo shar: Will not clobber existing file \"'parse.h'\"
  829. else
  830. echo shar: Extracting \"'parse.h'\" \(34040 characters\)
  831. sed "s/^X//" >'parse.h' <<'END_OF_FILE'
  832. X/* parse.h -- header file for parsing structures used by dungeon */
  833. X
  834. X/* These structures are only used by the parsing routines.  They are in
  835. X * their own file since they are so large.
  836. X */
  837. X
  838. X#ifndef PARSE_H
  839. X#define PARSE_H
  840. X
  841. X#ifndef EXTERN
  842. X#define EXTERN extern
  843. X#endif
  844. X
  845. XEXTERN struct {
  846. X    integer act, o1, o2, p1, p2;
  847. X} pv_;
  848. X
  849. X#define pv_1 pv_
  850. X#define pvec ((integer *)&pv_1)
  851. X#define objvec ((integer *)&pv_1 + 1)
  852. X#define prpvec ((integer *)&pv_1 + 3)
  853. X
  854. XEXTERN struct {
  855. X    integer vflag, dobj, dfl1, dfl2, dfw1, dfw2, iobj, ifl1, ifl2, ifw1, ifw2;
  856. X
  857. X} syntax_;
  858. X
  859. X#define syntax_1 syntax_
  860. X#define syn ((integer *)&syntax_1)
  861. X
  862. X/* Object flags (objflg) */
  863. X
  864. X#define VABIT (16384)
  865. X#define VRBIT (8192)
  866. X#define VTBIT (4096)
  867. X#define VCBIT (2048)
  868. X#define VEBIT (1024)
  869. X#define VFBIT (512)
  870. X#define VPMASK (511)
  871. X
  872. X/* Syntax flags (synflg) */
  873. X
  874. X#define SDIR (16384)
  875. X#define SIND (8192)
  876. X#define SSTD (4096)
  877. X#define SFLIP (2048)
  878. X#define SDRIV (1024)
  879. X#define SVMASK (511)
  880. X
  881. X/* BUZZ WORDS--    IGNORED IN SYNTACTIC PROCESSING */
  882. X
  883. X/*   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: */
  884. X
  885. X/*     DATA BVOC/3RAND,0,2RBY,0,2RIS,0,1RA,0, */
  886. X/* &        2RAN,0,3RTHE,0,3RRUN,0,2RGO,0,3RPRO,3RCEE,0,0/ */
  887. X
  888. XEXTERN const struct {
  889. X    integer bvoc[20];
  890. X} buzvoc_
  891. X#ifdef INIT
  892. X    = { 2164, 0, 4200, 0, 15160, 0, 1600, 0, 2160, 0, 32325, 0, 
  893. X        29654, 0, 11800, 0, 26335, 5005, 0, 0 }
  894. X#endif
  895. X    ;
  896. X
  897. X#define buzvoc_1 buzvoc_
  898. X
  899. X/* PREPOSITIONS--    MAPS PREPOSITIONS TO INDICES */
  900. X
  901. X/*   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: */
  902. X
  903. X/*     DATA PVOC/3ROVE,1RR,1,3RWIT,1RH,2,3RUSI,2RNG,2,3RTHR,3ROUG,2, */
  904. X/* &        2RAT,0,3,2RTO,0,4,2RIN,0,5,3RINS,3RIDE,5,3RINT,1RO,5, */
  905. X/* &        3RDOW,1RN,6,2RUP,0,7,3RUND,2RER,8,2ROF,0,9,2RON,0,10, */
  906. X/* &        3ROFF,0,11/ */
  907. X
  908. XEXTERN const struct {
  909. X    integer pvoc[45];
  910. X} prpvoc_
  911. X#ifdef INIT
  912. X    = { 24885, 28800, 1, 37180, 12800, 2, 34369, 22680, 2, 32338, 
  913. X        24847, 2, 2400, 0, 3, 32600, 0, 4, 14960, 0, 5, 14979, 14565, 5, 
  914. X        14980, 0, 5, 7023, 22400, 6, 34240, 0, 7, 34164, 8720, 8, 24240, 
  915. X        0, 9, 24560, 0, 10, 24246, 0, 11 }
  916. X#endif
  917. X    ;
  918. X
  919. X#define prpvoc_1 prpvoc_
  920. X
  921. X/* DIRECTIONS--    MAPS DIRECTIONS TO INDICES */
  922. X
  923. X/*   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: */
  924. X
  925. X/*     DATA DVOC/1RN,0,"2000,3RNOR,2RTH,"2000,1RS,0,"12000, */
  926. X/* &     1RE,0,"6000,3REAS,1RT,"6000,1RW,0,"16000,3RWES,1RT,"16000, */
  927. X/* &     2RSE,0,"10000,2RSW,0,"14000, */
  928. X/* &     2RNE,0,"4000,2RNW,0,"20000, */
  929. X/* &     1RU,0,"22000,2RUP,0,"22000,1RD,0,"24000,3RDOW,1RN,"24000, */
  930. X/* &     3RLAU,3RNCH,"26000,3RLAN,1RD,"30000,3RENT,2RER,"32000, */
  931. X/* &     3REXI,1RT,"34000,3ROUT,0,"34000,3RLEA,2RVE,"34000, */
  932. X/* &     3RTRA,3RVEL,"36000,3RSOU,2RTH,"12000, */
  933. X/* &     2RIN,0,"32000, */
  934. X/* &     3RCRO,2RSS,"36000/ */
  935. X
  936. XEXTERN const struct {
  937. X    integer dvoc[75];
  938. X} dirvoc_
  939. X#ifdef INIT
  940. X    = { 22400, 0, 1024, 23018, 32320, 1024, 30400, 0, 5120, 8000, 0,
  941. X        3072, 8059, 32000, 3072, 36800, 0, 7168, 37019, 32000, 7168, 
  942. X        30600, 0, 4096, 31320, 0, 6144, 22600, 0, 2048, 23320, 0, 8192, 
  943. X        33600, 0, 9216, 34240, 0, 9216, 6400, 0, 10240, 7023, 22400, 
  944. X        10240, 19261, 22528, 11264, 19254, 6400, 12288, 8580, 8720, 13312,
  945. X        8969, 32000, 14336, 24860, 0, 14336, 19401, 35400, 14336, 32721, 
  946. X        35412, 15360, 31021, 32320, 5120, 14960, 0, 13312, 5535, 31160, 
  947. X        15360 }
  948. X#endif
  949. X    ;
  950. X
  951. X#define dirvoc_1 dirvoc_
  952. X
  953. X/* ADJECTIVES--    MAPS ADJECTIVES TO OBJECT NUMBERS */
  954. X
  955. X/* EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF A TWO WORD */
  956. X/* ADJECTIVE IN RADIX-50 FOLLOWED BY ONE OR MORE OBJECT NUMBERS. */
  957. X/* NOTE THAT ADJECTIVES CAN BE DISTINGUISHED FROM OBJECTS AS */
  958. X/* FOLLOWS-- ALL ADJECTIVES ARE .GE. 1RA (1600), WHILE ALL OBJECTS */
  959. X/* ARE .LE. OLNT (255 MAX). */
  960. X
  961. X/*   THE DATA STATEMENT BELOW WAS CONVERTED FROM: */
  962. X
  963. X/*     DATA AVOC1/3RBRO,2RWN,1,81,3RELO,3RNGA,1,3RHOT,0,3,3RPEP,3RPER,3, */
  964. X/* &     3RVIT,3RREO,4,3RJAD,1RE,6,3RHUG,1RE,8,3RENO,3RRMO,8,122, */
  965. X/* &     3RTRO,3RPHY,9,3RCLE,2RAR,10,3RLAR,2RGE,12,26,47,95,96,123, */
  966. X/* &     133,135,146,147,150,176,3RNAS,2RTY,13,3RELV,3RISH,14, */
  967. X/* &     3RBRA,2RSS,15,16,46,156, */
  968. X/* &     3RBRO,3RKEN,16,22,92,113,155,158,3RORI,3RENT,17, */
  969. X/* &     3RBLO,3RODY,20,3RRUS,2RTY,21,3RBUR,3RNED,22, */
  970. X/* &     3RDEA,1RD,22,3ROLD,0,25,41,44,45,3RLEA,3RTHE,25, */
  971. X/* &     3RPLA,3RTIN,26,3RPEA,2RRL,27, */
  972. X/* &     3RMOB,1RY,31,3RCRY,3RSTA,32,126, */
  973. X/* &     3RGOL,1RD,33,85,104,157,158,188, */
  974. X/* &     3RIVO,2RRY,34,3RSAP,3RPHI,37,3RWOO,3RDEN,38,67,136,137, */
  975. X/* &     165,173,174,175,3RWOO,1RD,38,67,136,137,165,173,174,175, */
  976. X/* &     3RSTE,2REL,39,125,189, */
  977. X/* &     3RDEN,3RTED,39,3RFAN,2RCY,40,3RANC,3RIEN,41,44, */
  978. X/* &     3RSMA,2RLL,5,46,52,53,89,102,103,153,187, */
  979. X/* &     3RBLA,2RCK,47,162,3RTOU,1RR,49, */
  980. X/* &     3RVIS,3RCOU,55,3RVIC,3RIOU,62, */
  981. X/* &     3RGLA,2RSS,10,126,132,3RTRA,1RP,66/ */
  982. X
  983. X/*     DATA AVOC2/3RFRO,2RNT,68,3RSTO,2RNE,69,150,214,3RMAN,3RGLE,72, */
  984. X/* &     3RRED,0,79,94,140,161,170,171,3RYEL,3RLOW,80,159, */
  985. X/* &     3RBLU,1RE,82,112,114,141, */
  986. X/* &     3RVAM,3RPIR,83,3RMAG,2RIC,90, */
  987. X/* &     3RSEA,3RWOR,90,3RTAN,0,91,3RSHA,2RRP,92, */
  988. X/* &     3RWIC,3RKER,98,3RCLO,2RTH,100, */
  989. X/* &     3RBRA,3RIDE,101, */
  990. X/* &     3RGAU,2RDY,108,3RSQU,3RARE,109,127,3RCLA,1RY,109, */
  991. X/* &     3RSHI,2RNY,110,3RTHI,1RN,110, */
  992. X/* &     3RGRE,2REN,115,143,3RPUR,3RPLE,116,3RWHI,2RTE,117,147,160, */
  993. X/* &     3RMAR,3RBLE,119,3RCOK,1RE,121,3REMP,2RTY,121, */
  994. X/* &     3RROU,2RND,128,3RTRI,3RANG,129, */
  995. X/* &    2 3RRAR,1RE,134,3ROBL,3RONG,135,3REAT,3R$ME,138, */
  996. X/* &     3REAT,2RME,138,3RORA,3RNGE,139,3RECC,1RH,141/ */
  997. X
  998. X/*     DATA AVOC3/3RROC,2RKY,147,3RSHE,2RER,147, */
  999. X/* &     3R200,0,148,3RNEA,1RT,148,3RSHI,3RMME,151, */
  1000. X/* &     3RZUR,3RICH,152,3RBIR,2RDS,153,154,155, */
  1001. X/* &     3RENC,3RRUS,154,155,3RBEA,3RUTI,156,3RCLO,3RCKW,157,158, */
  1002. X/* &     3RMEC,3RHAN,157,158, */
  1003. X/* &     3RMAH,3ROGA,163,3RPIN,1RE,164,3RLON,1RG,166, */
  1004. X/* &     3RCEN,3RTER,166,3RSHO,2RRT,167,1RT,0,168, */
  1005. X/* &     3RCOM,3RPAS,169,211,3RBRO,3RNZE,172,3RCEL,1RL,174,175, */
  1006. X/* &     3RLOC,3RKED,174,3RSUN,0,177, */
  1007. X/* &     3RBAR,1RE,200,3RSON,1RG,203, */
  1008. X/* &     3RNOR,2RTH,205,3RNOR,3RTHE,205,3RSOU,2RTH,206, */
  1009. X/* &     3RSOU,3RTHE,206,3REAS,1RT,207,3REAS,3RTER,207, */
  1010. X/* &     3RWES,1RT,208,3RWES,3RTER,208,3RDUN,3RGEO,215/ */
  1011. X
  1012. XEXTERN const integer avoc[]
  1013. X#ifdef INIT
  1014. X    = { 3935, 37360, 1, 81, 8495, 22681, 1, 13420, 0, 3, 25816, 
  1015. X        25818, 3, 35580, 29015, 4, 16044, 8000, 6, 13647, 8000, 8, 8575, 
  1016. X        29335, 8, 122, 32735, 25945, 9, 5285, 2320, 10, 19258, 11400, 12, 
  1017. X        26, 47, 95, 96, 123, 133, 135, 146, 147, 150, 176, 22459, 33000, 
  1018. X        13, 8502, 15168, 14, 3921, 31160, 15, 16, 46, 156, 3935, 17814, 
  1019. X        16, 22, 92, 113, 155, 158, 24729, 8580, 17, 3695, 24185, 20, 
  1020. X        29659, 33000, 21, 4058, 22604, 22, 6601, 6400, 22, 24484, 0, 25, 
  1021. X        41, 44, 45, 19401, 32325, 25, 26081, 32374, 26, 25801, 29280, 27, 
  1022. X        21402, 40000, 31, 5545, 31201, 32, 126, 11812, 6400, 33, 85, 104, 
  1023. X        157, 158, 188, 15295, 29800, 34, 30456, 25929, 37, 37415, 6614, 
  1024. X        38, 67, 136, 137, 165, 173, 174, 175, 37415, 6400, 38, 67, 136, 
  1025. X        137, 165, 173, 174, 175, 31205, 8480, 39, 125, 189, 6614, 32204, 
  1026. X        39, 9654, 5800, 40, 2163, 14614, 41, 44, 30921, 19680, 5, 46, 52, 
  1027. X        53, 89, 102, 103, 153, 187, 3681, 5240, 47, 162, 32621, 28800, 49,
  1028. X         35579, 5421, 55, 35563, 15021, 62, 11681, 31160, 10, 126, 132, 
  1029. X        32721, 25600, 66, 10335, 23200, 68, 31215, 22600, 69, 150, 214, 
  1030. X        20854, 11685, 72, 29004, 0, 79, 94, 140, 161, 170, 171, 40212, 
  1031. X        19823, 80, 159, 3701, 8000, 82, 112, 114, 141, 35253, 25978, 83, 
  1032. X        20847, 14520, 90, 30601, 37418, 90, 32054, 0, 91, 30721, 29440, 
  1033. X        92, 37163, 17818, 98, 5295, 32320, 100, 3921, 14565, 101, 11261, 
  1034. X        7400, 108, 31101, 2325, 109, 127, 5281, 4000, 109, 30729, 23400, 
  1035. X        110, 32329, 22400, 110, 11925, 8560, 115, 143, 26458, 26085, 116, 
  1036. X        37129, 32200, 117, 147, 160, 20858, 3685, 119, 5411, 8000, 121, 
  1037. X        8536, 33000, 121, 29421, 22560, 128, 32729, 2167, 129, 28858, 
  1038. X        8000, 134, 24092, 24567, 135, 8060, 43725, 138, 8060, 21000, 138, 
  1039. X        24721, 22685, 139, 8123, 12800, 141, 29403, 18600, 147, 30725, 
  1040. X        8720, 147, 52430, 0, 148, 22601, 32000, 148, 30729, 21325, 151, 
  1041. X        42458, 14528, 152, 3578, 7160, 153, 154, 155, 8563, 29659, 154, 
  1042. X        155, 3401, 34409, 156, 5295, 5263, 157, 158, 21003, 12854, 157, 
  1043. X        158, 20848, 24281, 163, 25974, 8000, 164, 19814, 11200, 166, 5014,
  1044. X         32218, 166, 30735, 29600, 167, 32000, 0, 168, 5413, 25659, 169, 
  1045. X        211, 3935, 23445, 172, 5012, 19200, 174, 175, 19803, 17804, 174, 
  1046. X        31254, 0, 177, 3258, 8000, 200, 31014, 11200, 203, 23018, 32320, 
  1047. X        205, 23018, 32325, 205, 31021, 32320, 206, 31021, 32325, 206, 
  1048. X        8059, 32000, 207, 8059, 32218, 207, 37019, 32000, 208, 37019, 
  1049. X        32218, 208, 7254, 11415, 215, -1 }
  1050. X#endif
  1051. X    ;
  1052. X
  1053. X/* VERBS--    MAPS VERBS TO SYNTAX SLOTS */
  1054. X
  1055. X/* EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF ONE OR MORE */
  1056. X/* TWO WORD VERBS IN RADIX-50 FOLLOWED BY A SYNTAX WORD COUNT */
  1057. X/* FOLLOWED BY ONE OR MORE SYNTAXES.  NOTE THAT VERBS CAN BE */
  1058. X/* DISTINGUISHED FROM WORD COUNTS AS FOLLOWS-- */
  1059. X/* ALL VERBS ARE .GE. 1RA (1600), WHILE ALL SYNTAX WORD COUNTS */
  1060. X/* ARE .LE. 255. */
  1061. X
  1062. X/* SYNTAX ENTRIES CONSIST OF A FLAG WORD FOLLOWED BY 0, 1, OR 2 */
  1063. X/* OBJECT DESCRIPTIONS.  THE FLAG WORD HAS THE FOLLOWING FORMAT-- */
  1064. X
  1065. X/* BIT <14>    IF 1, SYNTAX INCLUDES DIRECT OBJECT */
  1066. X/* BIT <13>    IF 1, SYNTAX INCLUDES INDIRECT OBJECT */
  1067. X/* BIT <12>    IF 1, DIRECT OBJECT IS IMPLICIT (STANDARD FORM) */
  1068. X/* BIT <11>    IF 1, DIRECT AND INDIRECT OBJECT MUST BE SWAPPED */
  1069. X/*             AFTER SYNTAX PROCESSING */
  1070. X/* BIT <10>    IF 1, THIS IS DEFAULT SYNTAX FOR ORPHANERY */
  1071. X/* BITS <8:0>    VERB NUMBER FOR VAPPLI */
  1072. X
  1073. X/* OBJECT DESCRIPTIONS CONSIST OF A FLAG WORD AND TWO FWIM WORDS. */
  1074. X/* THE FLAG WORD HAS THE FOLLOWING FORMAT-- */
  1075. X
  1076. X/* BIT <14>    IF 1, SEARCH ADVENTURER FOR OBJECT */
  1077. X/* BIT <13>    IF 1, SEARCH ROOM FOR OBJECT */
  1078. X/* BIT <12>    IF 1, PARSER WILL TRY TO TAKE OBJECT */
  1079. X/* BIT <11>    IF 1, ADVENTURER MUST HAVE OBJECT */
  1080. X/* BIT <10>    IF 1, QUALIFYING BITS (NORMALLY -1,-1) ARE SAME */
  1081. X/*             AS FWIM BITS */
  1082. X/* BIT <9>    IF 1, OBJECT MUST BE REACHABLE */
  1083. X/* BITS <8:0>    PREPOSITION NUMBER FOR SYNMCH */
  1084. X
  1085. X/* THE FWIM WORDS HAVE THE SAME FORMAT AS THE TWO OBJECT FLAG WORDS. */
  1086. X
  1087. X/* NOTE THAT BITS 12 AND 11 OF OBJECT DESCRIPTIONS ACTUALLY HAVE */
  1088. X/* FOUR DISTINCT STATES-- */
  1089. X
  1090. X/*     BIT 12    BIT 11    MDLDESC        INTERPRETATION */
  1091. X/*     ------    ------    -------        --------------- */
  1092. X
  1093. X/*       0      0     --        NO PARSER ACTION */
  1094. X/*       0      1     HAVE        ADVENTURER MUST HAVE OBJECT */
  1095. X/*       1      0     TRY        TRY TO TAKE, DONT CARE IF FAIL */
  1096. X/*       1      1     TAKE        TRY TO TAKE, CARE IF FAIL */
  1097. X
  1098. X/*   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: */
  1099. X
  1100. X/*     DATA VVOC1/3RBRI,2REF,1,70,3RVER,3RBOS,1,71, */
  1101. X/* &     3RSUP,3RERB,1,72,3RSTA,1RY,1,73,3RVER,3RSIO,1,74, */
  1102. X/* &     3RSWI,1RM,3RBAT,2RHE,3RWAD,1RE,1,75,3RGER,3RONI,1,76, */
  1103. X/* &     3RULY,3RSSE,3RODY,3RSSE,1,77, */
  1104. X/* &     3RWEL,1RL,1,78,3RPRA,1RY,1,79,3RTRE,3RASU,1,80, */
  1105. X/* &     3RTEM,3RPLE,1,81,3RBLA,2RST,1,82,3RSCO,2RRE,1,83, */
  1106. X/* &     1RQ,0,3RQUI,1RT,1,84,3RHEL,1RP,1,40,3RINF,1RO,1,41, */
  1107. X/* &     3RHIS,3RTOR,3RUPD,3RATE,1,42,3RBAC,1RK,1,43, */
  1108. X/* &     3RSIG,1RH,3RMUM,3RBLE,1,44/ */
  1109. X
  1110. X/*     DATA VVOC1A/3RCHO,2RMP,3RLOS,1RE,3RBAR,1RF,1,45, */
  1111. X/* &     3RDUN,3RGEO,1,46,3RFRO,3RBOZ,1,47,3RFOO,0,3RBLE,3RTCH, */
  1112. X/* &     3RBAR,0,1,48,3RREP,3RENT,1,49,3RHOU,2RRS,3RSCH,3REDU,1,50, */
  1113. X/* &     3RWIN,0,1,51,3RYEL,1RL,3RSCR,3REAM,3RSHO,2RUT,1,52, */
  1114. X/* &     3RHOP,0,3RSKI,1RP,1,53,3RFUC,1RK,3RSHI,1RT,3RDAM,1RN, */
  1115. X/* &     3RCUR,2RSE,1,54,3RZOR,1RK,1,55,3RGRA,3RNIT,1,"50070, */
  1116. X/* &     3RSAV,1RE,1,149,3RRES,3RTOR,1,150,3RTIM,1RE,1,90, */
  1117. X/* &     3RDIA,3RGNO,1,94,3REXO,3RRCI,1,105,3RINV,3RENT, */
  1118. X/* &     1RI,0,1,133,3RWAI,1RT,1,128, */
  1119. X/* &     3RINC,3RANT,1,95,3RANS,3RWER,1,96/ */
  1120. X
  1121. X/*     DATA VVOC1B/3RAGA,2RIN,1,57,3RNOO,2RBJ,1,58, */
  1122. X/* &     3RBUG,0,3RGRI,2RPE,3RCOM,3RPLA,1,59, */
  1123. X/* &     3RFEA,3RTUR,3RCOM,3RMEN,3RSUG,3RGES,3RIDE,1RA,1,60, */
  1124. X/* &     3RROO,1RM,1,65,3ROBJ,3RECT,1,66,3RRNA,2RME,1,67/ */
  1125. X
  1126. X/*     DATA VVOC2/3RDEF,3RLAT,1,"50147, */
  1127. X/* &     3RDES,3RCRI,3RWHA,1RT,3REXA,3RMIN,1,"50170, */
  1128. X/* &     3RFIL,1RL,11,"60206,"61000,"200,0,"61002,"400,0, */
  1129. X/* &        "40206,"61000,"200,0, */
  1130. X/* &     3RFIN,1RD,3RSEE,1RK,3RWHE,2RRE,3RSEE,0,4,"40177,"60000,-1,-1, */
  1131. X/* &     3RFOL,3RLOW,2,"125,"50125, */
  1132. X/* &     3RKIC,1RK,3RBIT,1RE,3RTAU,2RNT,1,"50153,3RLOW,2RER,1,"50156, */
  1133. X/* &     3RPUS,1RH,3RPRE,2RSS,1,"50160,3RRIN,1RG,3RPEA,1RL,1,"50127, */
  1134. X/* &     3RRUB,0,3RCAR,3RESS,3RTOU,2RCH,3RFON,3RDLE,1,"50157, */
  1135. X/* &     3RSHA,2RKE,1,"50171,3RSPI,1RN,1,"50201, */
  1136. X/* &     3RUNT,2RIE,3RFRE,1RE,1,"50161,3RWAL,1RK,9,"50216, */
  1137. X/* &        "40126,"61002,-1,-1,"40126,"61005,-1,-1/ */
  1138. X
  1139. X/*     DATA VVOC3/3RATT,3RACK,3RFIG,2RHT,3RINJ,3RURE,3RHIT,0,3RHUR,1RT, */
  1140. X/* &        7,"60215,"21000,0,"200,"44002,0,"1000, */
  1141. X/* &     3RBOA,2RRD,4,"40202,"21000,0,"2, */
  1142. X/* &     3RBRU,2RSH,3RCLE,2RAN,5,"52130,"70130,"61002,-1,-1, */
  1143. X/* &     3RBUR,1RN,3RIGN,3RITE,3RINC,3RINE,7,"60211,"61000,"20,0, */
  1144. X/* &        "64002,"10,0, */
  1145. X/* &     3RCLI,2RMB,12,"40235,"20007,0,"4000, */
  1146. X/* &        "40236,"20006,0,"4000,"40234,"20000,0,"4000, */
  1147. X/* &     3RCLO,2RSE,4,"40176,"61000,"10200,0, */
  1148. X/* &     3RDIG,0,4,"40131,"44002,"4,0, */
  1149. X/* &     3RDIS,3REMB,4,"40203,"20000,0,"2, */
  1150. X/* &     3RDRI,2RNK,3RIMB,3RIBE,3RSWA,3RLLO,4,"40210,"61000,"400,0, */
  1151. X/* &     3RDRO,1RP,3RREL,3REAS,11,"42221,"41000,-1,-1, */
  1152. X/* &        "60221,"41000,-1,-1,"61005,-1,-1, */
  1153. X/* &     3REAT,0,3RCON,3RSUM,3RGOB,3RBLE,3RMUN,2RCH,3RTAS,2RTE, */
  1154. X/* &        4,"40207,"75000,"2000,0, */
  1155. X/* &     3REXT,3RING,3RDOU,2RSE,4,"40174,"75000,"100,0/ */
  1156. X
  1157. X/*     DATA VVOC4/3RGIV,1RE,3RHAN,1RD,3RDON,3RATE,11,"72222,"21004, */
  1158. X/* &        "40,0,"64222,"21000,"40,0,"61000,-1,-1, */
  1159. X/* &     3RHEL,2RLO,2RHI,0,2,"2227,"50227, */
  1160. X/* &     3RBLO,1RW,15,"62146,"61007,-1,-1,"61002,"4,0, */
  1161. X/* &        "40160,"61007,-1,-1,"40165,"61005,-1,-1, */
  1162. X/* &     3RINF,3RLAT,4,"70146,"61002,"4,0, */
  1163. X/* &     3RJUM,1RP,3RLEA,1RP,5,"133,"40133,"61001,-1,-1, */
  1164. X/* &     3RKIL,1RL,3RMUR,3RDER,3RSLA,1RY,3RSTA,1RB,3RDIS,3RPAT, */
  1165. X/* &        7,"60213,"21000,0,"200, */
  1166. X/* &        "44002,0,"1000, */
  1167. X/* &     3RKNO,2RCK,3RRAP,0,12,"42166,"61003,-1,-1, */
  1168. X/* &        "40166,"61012,-1,-1,"40215,"23006,"40,0, */
  1169. X/* &     3RLIG,2RHT,11,"42173,"75000,"100,0, */
  1170. X/* &        "60211,"61000,"100,0,"54002,"10,0, */
  1171. X/* &     3RLOC,1RK,4,"40134,"20000,-1,-1/ */
  1172. X
  1173. X/*     DATA VVOC5/3RLOO,1RK,1RL,0,3RSTA,2RRE,3RGAZ,1RE, */
  1174. X/* &        13,"167,"40167,"60003,-1,-1, */
  1175. X/* &        "40231,"61010,-1,-1,"40230,"60005,-1,-1, */
  1176. X/* &     3RMEL,1RT,3RLIQ,3RUIF,4,"70145,"61002,"10,0, */
  1177. X/* &     3RMOV,1RE,4,"40172,"20000,-1,-1, */
  1178. X/* &     3RPUL,1RL,3RTUG,0,8,"42172,"21000,-1,-1, */
  1179. X/* &        "40172,"21012,-1,-1, */
  1180. X/* &     3RMUN,1RG,3RHAC,1RK,3RFRO,1RB,3RDAM,3RAGE, */
  1181. X/* &        5,"52212,"70212,"44002,-1,-1, */
  1182. X/* &     3ROPE,1RN,11,"42175,"61000,"10200,0, */
  1183. X/* &        "60175,"61000,"10200,0,"54002,"4,"1000, */
  1184. X/* &     3RPIC,1RK,4,"40204,"61007,"20000,"40, */
  1185. X/* &     3RPLU,1RG,3RGLU,1RE,3RPAT,2RCH,4,"70152,"61002,-1,-1, */
  1186. X/* &     3RPOK,1RE,3RBRE,2RAK,3RJAB,0,7,"60212,"21000,0,"200, */
  1187. X/* &        "44002,0,"1000, */
  1188. X/* &     3RPOU,1RR,3RSPI,2RLL,11,"42223,"42000,"400,0, */
  1189. X/* &        "60223,"42000,"400,0,"60005,-1,-1, */
  1190. X/* &        3RPUM,1RP,4,"60232,"60007,-1,-1/ */
  1191. X
  1192. X/*     DATA VVOC6/3RPUT,0,3RINS,3RERT,3RSTU,2RFF,3RPLA,2RCE, */
  1193. X/* &        8,"72220,"61005,-1,-1, */
  1194. X/* &        "40221,"61006,-1,-1, */
  1195. X/* &     3RRAI,2RSE,3RLIF,1RT,5,"52155,"40155,"61007,-1,-1, */
  1196. X/* &     3RREA,1RD,3RSKI,1RM,11,"42144,"71000,"40000,0, */
  1197. X/* &        "60144,"71000,"40000,0,"61002,-1,-1, */
  1198. X/* &     3RSTR,3RIKE,12,"60215,"23000,"40,0, */
  1199. X/* &        "44002,0,"1000,"42215,"23000,"40,0,"50173, */
  1200. X/* &     3RSWI,2RNG,3RTHR,3RUST,7,"60214,"44000,0,"1000, */
  1201. X/* &        "21003,0,"200, */
  1202. X/* &     3RTAK,1RE,3RGET,0,3RHOL,1RD,3RCAR,2RRY,3RREM,3ROVE, */
  1203. X/* &        4,"40204,"61000,"20000,"40, */
  1204. X/* &     3RTEL,1RL,3RCOM,3RMAN,3RREQ,3RUES,4,"40217,"20000,0,"2000, */
  1205. X/* &     3RTHR,2ROW,3RHUR,1RL,3RCHU,2RCK,14,"60224,"44000,-1,-1, */
  1206. X/* &        "21003,"40,0,"60224,"44000,-1,-1,"21002,"40,0/ */
  1207. X
  1208. X/*     DATA VVOC7/3RTIE,0,3RFAS,3RTEN,11,"70162,"61004,-1,-1, */
  1209. X/* &        "60163,"21000,"40,0,"65002,"4,0, */
  1210. X/* &     3RTUR,1RN,3RSET,0,22,"62164,"61000,"2,0, */
  1211. X/* &        "64002,"4,0, */
  1212. X/* &        "40173,"75012,"100,0,"40174,"75013,"100,0, */
  1213. X/* &        "60237,"61000,"2,0,"20004,-1,-1, */
  1214. X/* &     3RUNL,3ROCK,7,"60135,"21000,-1,-1, */
  1215. X/* &        "74002,"4,0, */
  1216. X/* &     3RWAK,1RE,3RSUR,3RPRI,3RALA,2RRM,3RSTA,3RRTL, */
  1217. X/* &        8,"42150,"20000,"40,0, */
  1218. X/* &        "40150,"20007,"40,0, */
  1219. X/* &     3RWAV,1RE,3RFLA,3RUNT,3RBRA,3RNDI,4,"40154,"40000,-1,-1, */
  1220. X/* &     3RWIN,1RD,5,"50233,"40233,"61007,-1,-1/ */
  1221. X
  1222. XEXTERN const integer vvoc[]
  1223. X#ifdef INIT
  1224. X    = { 3929, 8240, 1, 70, 35418, 3819, 1, 71, 31256, 8722, 1, 72, 
  1225. X        31201, 40000, 1, 73, 35418, 30775, 1, 74, 31329, 20800, 3260, 
  1226. X        13000, 36844, 8000, 1, 75, 11418, 24569, 1, 76, 34105, 31165, 
  1227. X        24185, 31165, 1, 77, 37012, 19200, 1, 78, 26321, 40000, 1, 79, 
  1228. X        32725, 2381, 1, 80, 32213, 26085, 1, 81, 3681, 31200, 1, 82, 
  1229. X        30535, 29000, 1, 83, 27200, 0, 28049, 32000, 1, 84, 13012, 25600, 
  1230. X        1, 40, 14966, 24000, 1, 41, 13179, 32618, 34244, 2405, 1, 42, 
  1231. X        3243, 17600, 1, 43, 30767, 12800, 21653, 3685, 1, 44, 5135, 21440,
  1232. X        19819, 8000, 3258, 9600, 1, 45, 7254, 11415, 1, 46, 10335, 3826, 
  1233. X        1, 47, 10215, 0, 3685, 32128, 3258, 0, 1, 48, 29016, 8580, 1, 49, 
  1234. X        13421, 29560, 30528, 8181, 1, 50, 37174, 0, 1, 51, 40212, 19200, 
  1235. X        30538, 8053, 30735, 34400, 1, 52, 13416, 0, 30849, 25600, 1, 53, 
  1236. X        10443, 17600, 30729, 32000, 6453, 22400, 5658, 30600, 1, 54, 
  1237. X        42218, 17600, 1, 55, 11921, 22780, 1, 20536, 30462, 8000, 1, 149, 
  1238. X        29019, 32618, 1, 150, 32373, 8000, 1, 90, 6761, 11775, 1, 94, 
  1239. X        8975, 28929, 1, 105, 14982, 8580, 14400, 0, 1, 133, 36849, 32000, 
  1240. X        1, 128, 14963, 2180, 1, 95, 2179, 37018, 1, 96, 1881, 14960, 1, 
  1241. X        57, 23015, 3600, 1, 58, 4047, 0, 11929, 25800, 5413, 26081, 1, 59,
  1242. X         9801, 32858, 5413, 21014, 31247, 11419, 14565, 1600, 1, 60, 
  1243. X        29415, 20800, 1, 65, 24090, 8140, 1, 66, 29361, 21000, 1, 67, 
  1244. X        6606, 19260, 1, 20583, 6619, 5529, 37121, 32000, 8961, 21174, 1, 
  1245. X        20600, 9972, 19200, 11, 24710, 25088, 128, 0, 25090, 256, 0, 
  1246. X        16518, 25088, 128, 0, 9974, 6400, 30605, 17600, 37125, 29000, 
  1247. X        30605, 0, 4, 16511, 24576, -1, -1, 10212, 19823, 2, 85, 20565, 
  1248. X        17963, 17600, 3580, 8000, 32061, 23200, 1, 20587, 19823, 8720, 1, 
  1249. X        20590, 26459, 12800, 26325, 31160, 1, 20592, 29174, 11200, 25801, 
  1250. X        19200, 1, 20567, 29642, 0, 4858, 8779, 32621, 5120, 10214, 6885, 
  1251. X        1, 20591, 30721, 17800, 1, 20601, 31049, 22400, 1, 20609, 34180, 
  1252. X        14600, 10325, 8000, 1, 20593, 36852, 17600, 9, 20622, 16470, 
  1253. X        25090, -1, -1, 16470, 25093, -1, -1, 2420, 1731, 9967, 13600, 
  1254. X        14970, 34325, 13180, 0, 13658, 32000, 7, 24717, 8704, 0, 128, 
  1255. X        18434, 0, 512, 3801, 28960, 4, 16514, 8704, 0, 2, 3941, 30720, 
  1256. X        5285, 2160, 5, 21592, 28760, 25090, -1, -1, 4058, 22400, 14694, 
  1257. X        15205, 14963, 14965, 7, 24713, 25088, 16, 0, 26626, 8, 0, 5289, 
  1258. X        20880, 12, 16541, 8199, 0, 2048, 16542, 8198, 0, 2048, 16540, 
  1259. X        8192, 0, 2048, 5295, 30600, 4, 16510, 25088, 4224, 0, 6767, 0, 4, 
  1260. X        16473, 18434, 4, 0, 6779, 8522, 4, 16515, 8192, 0, 2, 7129, 22840,
  1261. X        14922, 14485, 31321, 19695, 4, 16520, 25088, 256, 0, 7135, 25600,
  1262. X        29012, 8059, 11, 17553, 16896, -1, -1, 24721, 16896, -1, -1, 
  1263. X        25093, -1, -1, 8060, 0, 5414, 31253, 11802, 3685, 21654, 5120, 
  1264. X        32059, 32200, 4, 16519, 31232, 1024, 0, 8980, 14967, 7021, 30600, 
  1265. X        4, 16508, 31232, 64, 0, 11582, 8000, 12854, 6400, 7014, 2405, 11, 
  1266. X        29842, 8708, 32, 0, 26770, 8704, 32, 0, 25088, -1, -1, 13012, 
  1267. X        19800, 13160, 0, 2, 1175, 20631, 3695, 36800, 15, 25702, 25095, 
  1268. X        -1, -1, 25090, 4, 0, 16496, 25095, -1, -1, 16501, 25093, -1, -1, 
  1269. X        14966, 19260, 4, 28774, 25090, 4, 0, 16853, 25600, 19401, 25600, 
  1270. X        5, 91, 16475, 25089, -1, -1, 17972, 19200, 21658, 6618, 30881, 
  1271. X        40000, 31201, 3200, 6779, 25660, 7, 24715, 8704, 0, 128, 18434, 0,
  1272. X        512, 18175, 5240, 28856, 0, 12, 17526, 25091, -1, -1, 16502, 
  1273. X        25098, -1, -1, 16525, 9734, 32, 0, 19567, 13600, 11, 17531, 31232,
  1274. X        64, 0, 24713, 25088, 64, 0, 22530, 8, 0, 19803, 17600, 4, 16476, 
  1275. X        8192, -1, -1, 19815, 17600, 19200, 0, 31201, 29000, 11266, 8000, 
  1276. X        13, 119, 16503, 24579, -1, -1, 16537, 25096, -1, -1, 16536, 24581,
  1277. X        -1, -1, 21012, 32000, 19577, 33966, 4, 28773, 25090, 8, 0, 21422,
  1278. X        8000, 4, 16506, 8192, -1, -1, 26452, 19200, 32847, 0, 8, 17530, 
  1279. X        8704, -1, -1, 16506, 8714, -1, -1, 21654, 11200, 12843, 17600, 
  1280. X        10335, 3200, 6453, 1885, 5, 21642, 28810, 18434, -1, -1, 24645, 
  1281. X        22400, 11, 17533, 25088, 4224, 0, 24701, 25088, 4224, 0, 22530, 4,
  1282. X        512, 25963, 17600, 4, 16516, 25095, 8192, 32, 26101, 11200, 
  1283. X        11701, 8000, 25660, 5120, 4, 28778, 25090, -1, -1, 26211, 8000, 
  1284. X        3925, 2040, 16042, 0, 7, 24714, 8704, 0, 128, 18434, 0, 512, 
  1285. X        26221, 28800, 31049, 19680, 11, 17555, 17408, 256, 0, 24723, 
  1286. X        17408, 256, 0, 24581, -1, -1, 26453, 25600, 4, 24730, 24583, -1, 
  1287. X        -1, 26460, 0, 14979, 8740, 31221, 9840, 26081, 5000, 8, 29840, 
  1288. X        25093, -1, -1, 16529, 25094, -1, -1, 28849, 30600, 19566, 32000, 
  1289. X        5, 21613, 16493, 25095, -1, -1, 29001, 6400, 30849, 20800, 11, 
  1290. X        17508, 29184, 16384, 0, 24676, 29184, 16384, 0, 25090, -1, -1, 
  1291. X        31218, 14845, 12, 24717, 9728, 32, 0, 18434, 0, 512, 17549, 9728, 
  1292. X        32, 0, 20603, 31329, 22680, 32338, 34380, 7, 24716, 18432, 0, 512,
  1293. X        8707, 0, 128, 32051, 8000, 11420, 0, 13412, 6400, 4858, 29800, 
  1294. X        29013, 24885, 4, 16516, 25088, 8192, 32, 32212, 19200, 5413, 
  1295. X        20854, 29017, 33819, 4, 16527, 8192, 0, 1024, 32338, 24920, 13658,
  1296. X        19200, 5141, 5240, 14, 24724, 18432, -1, -1, 8707, 32, 0, 24724, 
  1297. X        18432, -1, -1, 8706, 32, 0, 32365, 0, 9659, 32214, 11, 28786, 
  1298. X        25092, -1, -1, 24691, 8704, 32, 0, 27138, 4, 0, 32858, 22400, 
  1299. X        30620, 0, 22, 25716, 25088, 2, 0, 26626, 4, 0, 16507, 31242, 64, 
  1300. X        0, 16508, 31243, 64, 0, 24735, 25088, 2, 0, 8196, -1, -1, 34172, 
  1301. X        24131, 7, 24669, 8704, -1, -1, 30722, 4, 0, 36851, 8000, 31258, 
  1302. X        26329, 2081, 29320, 31201, 29612, 8, 17512, 8192, 32, 0, 16488, 
  1303. X        8199, 32, 0, 36862, 8000, 10081, 34180, 3921, 22569, 4, 16492, 
  1304. X        16384, -1, -1, 37174, 6400, 5, 20635, 16539, 25095, -1, -1, -1 }
  1305. X#endif
  1306. X    ;
  1307. X
  1308. X/* OBJECTS--    MAPS OBJECTS TO OBJECT INDICES */
  1309. X
  1310. X/* SAME FORMAT AS AVOC. */
  1311. X
  1312. X/*   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: */
  1313. X
  1314. X/*     DATA OVOC1/3RBAG,0,1,25,100,3RSAC,1RK,1,3RGAR,3RLIC,2, */
  1315. X/* &     3RCLO,2RVE,2,3RFOO,1RD,3,3RSAN,3RDWI,3,3RLUN,2RCH,3, */
  1316. X/* &     3RDIN,3RNER,3, */
  1317. X/* &     3RGUN,1RK,4,55,3RPIE,2RCE,4,143,186,3RSLA,1RG,4,3RCOA,1RL,5, */
  1318. X/* &     3RPIL,1RE,5,18,38,78,87,88,122,3RHEA,1RP,5, */
  1319. X/* &     3RFIG,3RURI,6, */
  1320. X/* &     3RMAC,3RHIN,7,3RPDP,2R10,7,3RPDP,2R11,7,3RDRY,2RER,7, */
  1321. X/* &     3RLID,0,7,3RDIA,3RMON,8,3RCAS,1RE,9,123,3RBOT,3RTLE,10,121, */
  1322. X/* &     3RCON,3RTAI,10,3RWAT,2RER,11,209,3RQUA,3RNTI,11,209, */
  1323. X/* &     3RLIQ,3RUID,11,209,3RH2O,0,11,209, */
  1324. X/* &     3RROP,1RE,12,101,3RHEM,1RP,12,3RCOI,1RL,12,110, */
  1325. X/* &     3RKNI,2RFE,13,21,3RBLA,2RDE,13,14,3RSWO,2RRD,14,3RORC,3RHRI,14, */
  1326. X/* &     3RGLA,3RMDR,14,3RLAM,1RP,15,16,22,3RLAN,3RTER,15,16,22, */
  1327. X/* &     3RRUG,0,17,3RCAR,3RPET,17, */
  1328. X/* &     3RLEA,3RVES,18,3RLEA,1RF,18,3RTRO,2RLL,19, */
  1329. X/* &     3RAXE,0,20,3RDIN,3RNER,3/ */
  1330. X
  1331. X/*     DATA OVOC2/3RKEY,1RS,23,3RKEY,0,23, */
  1332. X/* &     3RSET,0,23,3RBON,2RES,24,3RSKE,3RLET,24,3RBOD,1RY,24,73, */
  1333. X/* &     3RCOI,2RNS,25,3RBAR,0,26,165,168, */
  1334. X/* &     3RNEC,3RKLA,27,3RPEA,3RRLS,27,3RMIR,3RROR,28,29,212, */
  1335. X/* &     3RICE,0,30,3RMAS,1RS,30,3RGLA,3RCIE,30,3RRUB,1RY,31, */
  1336. X/* &     3RTRI,3RDEN,32,3RFOR,1RK,32,3RCOF,3RFIN,33,3RCAS,3RKET,33, */
  1337. X/* &     3RTOR,2RCH,34,3RCAG,1RE,35,36,124,125,3RDUM,3RBWA,35,36, */
  1338. X/* &     3RBAS,3RKET,35,36,98,113,3RBRA,3RCEL,37, */
  1339. X/* &     3RJEW,2REL,37,3RTIM,3RBER,38,3RBOX,0,39,53,105,3RSTR,3RADI,40, */
  1340. X/* &     3RVIO,3RLIN,40,3RENG,3RRAV,41,3RINS,3RCRI,41,44,3RGHO,2RST,42, */
  1341. X/* &     3RSPI,3RRIT,42,3RFIE,2RND,42,3RGRA,2RIL,43,3RPRA,3RYER,44,47, */
  1342. X/* &     3RTRU,2RNK,45,3RCHE,2RST,45,3RBEL,1RL,46, */
  1343. X/* &     3RBOO,1RK,47,49,114,115,116,117,3RBIB,2RLE,47/ */
  1344. X
  1345. X/*     DATA OVOC3/3RGOO,3RDBO,47,3RCAN,3RDLE,48,3RPAI,1RR,48, */
  1346. X/* &     3RGUI,3RDEB,49, */
  1347. X/* &     3RGUI,2RDE,49,3RPAP,2RER,50,122,143,186,3RNEW,3RSPA,50, */
  1348. X/* &     3RISS,2RUE,50,3RREP,3RORT,50,3RMAG,3RAZI,50,3RNEW,1RS,50, */
  1349. X/* &     3RMAT,3RCHB,51, */
  1350. X/* &     3RMAT,2RCH,51,3RMAT,3RCHE,51,3RADV,3RERT,52,3RPAM,3RPHL,52, */
  1351. X/* &     3RLEA,3RFLE,52,3RBOO,3RKLE,52,3RMAI,3RLBO,53, */
  1352. X/* &     3RTUB,1RE,54,3RTOO,3RTHP,54,3RPUT,2RTY,55,3RMAT,3RERI,55, */
  1353. X/* &     3RGLU,1RE,55,3RWRE,3RNCH,56,3RSCR,3REWD,57, */
  1354. X/* &     3RCYC,3RLOP,58,3RMON,3RSTE,58,3RCHA,3RLIC,59,3RCUP,0,59, */
  1355. X/* &     3RGOB,3RLET,59,3RPAI,3RNTI,60,149,3RART,0,60,149, */
  1356. X/* &     3RCAN,3RVAS,60,3RPIC,3RTUR,60,3RWOR,1RK,60, */
  1357. X/* &     3RMAS,3RTER,60,215,3RTHI,2REF,61,3RROB,3RBER,61, */
  1358. X/* &     3RCRI,3RMIN,61,3RBAN,3RDIT,61,3RCRO,2ROK,61,3RGEN,1RT,61, */
  1359. X/* &     3RGEN,3RTLE,61,3RMAN,0,61,3RTHU,1RG,61, */
  1360. X/* &     3RBAG,3RMAN,61,3RSTI,3RLLE,62/ */
  1361. X
  1362. X/*     DATA OVOC4/3RWIN,3RDOW,63,3RBOL,1RT,64,3RNUT,0,64, */
  1363. X/* &     3RGRA,2RTE,65,3RGRA,3RTIN,65,3RDOO,1RR,66,67,68,69, */
  1364. X/* &     164,172,173,174,175,189,3RTRA,3RPDO,66, */
  1365. X/* &     3RTRA,3RP$D,66,3RSWI,3RTCH,70,76,79,80,81,82,170, */
  1366. X/* &     3RHEA,1RD,71,120,3RCOR,3RPSE,72,73,3RBOD,3RIES,73, */
  1367. X/* &     3RDAM,0,74,3RGAT,2RES,74,76,3RGAT,1RE,74,76, */
  1368. X/* &     3RFCD,0,74,3RRAI,1RL,75,3RRAI,3RLIN,75, */
  1369. X/* &     3RBUT,3RTON,76,79,80,81,82,127,128,129,170,176, */
  1370. X/* &     3RBUB,3RBLE,77,3RLEA,1RK,78,3RDRI,1RP,78, */
  1371. X/* &     3RHOL,1RE,78,107, */
  1372. X/* &     3RBAT,0,83,3RRAI,3RNBO,84, */
  1373. X/* &     3RPOT,0,85,3RSTA,3RTUE,86,3RSCU,3RLPT,86,3RROC,1RK,86, */
  1374. X/* &     3RBOA,1RT,87,88,90,3RPLA,3RSTI,87,88, */
  1375. X/* &     3RPUM,1RP,89/ */
  1376. X
  1377. X/*     DATA OVOC5/3RAIR,3RPUM,89,3RAIR,3R$PU,89,3RLAB,2REL,91,112, */
  1378. X/* &     3RFIN,3REPR,91,3RSTI,2RCK,92,3RBAR,3RREL,93,3RBUO,1RY,94, */
  1379. X/* &     3REME,3RRAL,95,3RSHO,3RVEL,96,3RGUA,2RNO,97,3RCRA,1RP,97, */
  1380. X/* &     3RSHI,1RT,97,3RHUN,1RK,97,3RBAL,3RLOO,98,113, */
  1381. X/* &     3RREC,3REPT,99,3RWIR,1RE,101,110, */
  1382. X/* &     3RHOO,1RK,102,103,3RZOR,3RKMI,104,148,3RCOI,1RN,104, */
  1383. X/* &     3RSAF,1RE,105,3RCAR,1RD,106,188,3RNOT,1RE,106,186, */
  1384. X/* &     3RSLO,1RT,107,187,3RCRO,2RWN,108,3RBRI,2RCK,109, */
  1385. X/* &     3RFUS,1RE,110,3RGNO,2RME,111,152, */
  1386. X/* &     3RSTA,2RMP,118, */
  1387. X/* &     3RTOM,1RB,119,3RCRY,2RPT,119,3RGRA,2RVE,119,3RHEA,2RDS,120, */
  1388. X/* &     3RPOL,2RES,120,3RIMP,3RLEM,120/ */
  1389. X
  1390. X/*     DATA OVOC6/3RLOS,3RERS,120,3RCOK,2RES,121, */
  1391. X/* &     3RLIS,3RTIN,122,3RSTA,2RCK,122, */
  1392. X/* &     3RPRI,3RNTO,122, */
  1393. X/* &     3RSPH,3RERE,126,3RBAL,1RL,126, */
  1394. X/* &     3RETC,3RHIN,130,131, */
  1395. X/* &     3RWAL,2RLS,130,131,198,205,206,207,208,3RWAL,1RL, */
  1396. X/* &     130,131,159,160,161,162,163,164,198,205,206,207,208, */
  1397. X/* &     3RFLA,2RSK,132,3RPOO,1RL,133,3RSEW,3RAGE,133, */
  1398. X/* &     3RTIN,0,134,3RSAF,3RFRO,134,3RSPI,3RCES,134,3RTAB,2RLE,135, */
  1399. X/* &     3RPOS,1RT,136,166,167,3RPOS,2RTS,136,3RBUC,3RKET,137, */
  1400. X/* &     3RCAK,1RE,138,139,140,141,3RICI,2RNG,139,140,141, */
  1401. X/* &     3RROB,2ROT,142,3RROB,2RBY,142, */
  1402. X/* &     3RC3P,1RO,142,3RR2D,1R2,142/ */
  1403. X
  1404. X/*     DATA OVOC6A/3RPAN,2REL,159,160,161,162,163,164,213, */
  1405. X/* &     3RPOL,1RE,166,167,3RTBA,1RR,168,3RT$B,2RAR,168, */
  1406. X/* &     3RARR,2ROW,169,3RPOI,2RNT,169,3RBEA,1RM,171, */
  1407. X/* &     3RDIA,1RL,177,3RSUN,3RDIA,177,1R1,0,178, */
  1408. X/* &     3RONE,0,178,1R2,0,179,3RTWO,0,179,1R3,0,180, */
  1409. X/* &     3RTHR,2REE,180,1R4,0,181,3RFOU,1RR,181,1R5,0,182, */
  1410. X/* &     3RFIV,1RE,182,1R6,0,183,3RSIX,0,183,1R7,0,184, */
  1411. X/* &     3RSEV,2REN,184,1R8,0,185,3REIG,2RHT,185, */
  1412. X/* &     3RWAR,3RNIN,186,3RSLI,1RT,187, */
  1413. X/* &     2RIT,0,192,3RTHA,1RT,192,3RTHI,1RS,192/ */
  1414. X
  1415. X/*     DATA OVOC7/2RME,0,193,3RMYS,3RELF,193,3RCRE,3RTIN,193, */
  1416. X/* &     3RALL,0,194,3REVE,3RRYT,194, */
  1417. X/* &     3RTRE,3RASU,195,3RVAL,3RUAB,195,3RSAI,3RLOR,196,3RTEE,2RTH,197, */
  1418. X/* &     3RGRU,1RE,199,3RHAN,1RD,200,3RHAN,2RDS,200, */
  1419. X/* &     3RLUN,2RGS,201,3RAIR,0,201,3RAVI,3RATO,202, */
  1420. X/* &     3RFLY,2RER,202,3RTRE,1RE,144,145,204, */
  1421. X/* &     3RCLI,2RFF,146,147,3RLED,2RGE,146,147,3RPOR,3RTRA,149, */
  1422. X/* &     3RSTA,2RCK,148,3RBIL,2RLS,148, */
  1423. X/* &     3RVAU,2RLT,150,3RCUB,1RE,150,3RLET,3RTER,67,150, */
  1424. X/* &     3RCUR,3RTAI,151,3RLIG,2RHT,151,3RNES,1RT,153, */
  1425. X/* &     3REGG,0,154,155,3RBAU,3RBLE,156,3RCAN,3RARY,157,158, */
  1426. X/* &     3RBIR,1RD,203,3RSON,3RGBI,203, */
  1427. X/* &     3RGUA,2RRD,210,3RGUA,3RRDI,210,3RROS,1RE,211, */
  1428. X/* &     3RSTR,3RUCT,212,3RCHA,3RNNE,214, */
  1429. X/* &     3RKEE,3RPER,215,3RLAD,3RDER,216/ */
  1430. X
  1431. XEXTERN const integer ovoc[]
  1432. X#ifdef INIT
  1433. X    = { 3247, 0, 1, 25, 100, 30443, 17600, 1, 11258, 19563, 2, 5295,
  1434. X        35400, 2, 10215, 6400, 3, 30454, 7329, 3, 20054, 5120, 3, 6774, 
  1435. X        22618, 3, 12054, 17600, 4, 55, 25965, 5000, 4, 143, 186, 30881, 
  1436. X        11200, 4, 5401, 19200, 5, 25972, 8000, 5, 18, 38, 78, 87, 88, 122,
  1437. X        13001, 25600, 5, 9967, 34329, 6, 20843, 13174, 7, 25776, 50800, 
  1438. X        7, 25776, 50840, 7, 7145, 8720, 7, 19564, 0, 7, 6761, 21414, 8, 
  1439. X        4859, 8000, 9, 123, 3820, 32485, 10, 121, 5414, 32049, 10, 36860, 
  1440. X        8720, 11, 209, 28041, 23209, 11, 209, 19577, 33964, 11, 209, 
  1441. X        14095, 0, 11, 209, 29416, 8000, 12, 101, 13013, 25600, 12, 5409, 
  1442. X        19200, 12, 110, 18169, 9800, 13, 21, 3681, 6600, 13, 14, 31335, 
  1443. X        28960, 14, 24723, 13529, 14, 11681, 20978, 14, 19253, 25600, 15, 
  1444. X        16, 22, 19254, 32218, 15, 16, 22, 29647, 0, 17, 4858, 25820, 17, 
  1445. X        19401, 35419, 18, 19401, 9600, 18, 32735, 19680, 19, 2565, 0, 20, 
  1446. X        6774, 22618, 3, 17825, 30400, 23, 17825, 0, 23, 30620, 0, 23, 
  1447. X        3814, 8760, 24, 30845, 19420, 24, 3804, 40000, 24, 73, 5409, 
  1448. X        23160, 25, 3258, 0, 26, 165, 168, 22603, 18081, 27, 25801, 29299, 
  1449. X        27, 21178, 29418, 28, 29, 212, 14525, 0, 30, 20859, 30400, 30, 
  1450. X        11681, 5165, 30, 29642, 40000, 31, 32729, 6614, 32, 10218, 17600, 
  1451. X        32, 5406, 9974, 33, 4859, 17820, 33, 32618, 5120, 34, 4847, 8000, 
  1452. X        35, 36, 124, 125, 7253, 4121, 35, 36, 3259, 17820, 35, 36, 98, 
  1453. X        113, 3921, 5012, 37, 16223, 8480, 37, 32373, 3418, 38, 3824, 0, 
  1454. X        39, 53, 105, 31218, 1769, 40, 35575, 19574, 40, 8567, 28862, 41, 
  1455. X        14979, 5529, 41, 44, 11535, 31200, 42, 31049, 29180, 42, 9965, 
  1456. X        22560, 42, 11921, 14880, 43, 26321, 40218, 44, 47, 32741, 22840, 
  1457. X        45, 5125, 31200, 45, 3412, 19200, 46, 3815, 17600, 47, 49, 114, 
  1458. X        115, 116, 117, 3562, 19400, 47, 11815, 6495, 47, 4854, 6885, 48, 
  1459. X        25649, 28800, 48, 12049, 6602, 49, 12049, 6600, 49, 25656, 8720, 
  1460. X        50, 122, 143, 186, 22623, 31041, 50, 15179, 33800, 50, 29016, 
  1461. X        24740, 50, 20847, 2649, 50, 22623, 30400, 50, 20860, 5122, 51, 
  1462. X        20860, 5120, 51, 20860, 5125, 51, 1782, 8740, 52, 25653, 25932, 
  1463. X        52, 19401, 10085, 52, 3815, 18085, 52, 20849, 19295, 53, 32842, 
  1464. X        8000, 54, 32615, 32336, 54, 26460, 33000, 55, 20860, 8729, 55, 
  1465. X        11701, 8000, 55, 37525, 22528, 56, 30538, 8924, 57, 5803, 19816, 
  1466. X        58, 21414, 31205, 58, 5121, 19563, 59, 5656, 0, 59, 11802, 19420, 
  1467. X        59, 25649, 23209, 60, 149, 2340, 0, 60, 149, 4854, 35259, 60, 
  1468. X        25963, 32858, 60, 37418, 17600, 60, 20859, 32218, 60, 215, 32329, 
  1469. X        8240, 61, 29402, 3418, 61, 5529, 21175, 61, 3254, 6780, 61, 5535, 
  1470. X        24440, 61, 11414, 32000, 61, 11414, 32485, 61, 20854, 0, 61, 
  1471. X        32341, 11200, 61, 3247, 20854, 61, 31209, 19685, 62, 37174, 7023, 
  1472. X        63, 3812, 32000, 64, 23260, 0, 64, 11921, 32200, 65, 11921, 32374,
  1473. X         65, 7015, 28800, 66, 67, 68, 69, 164, 172, 173, 174, 175, 189, 
  1474. X        32721, 25775, 66, 32721, 26684, 66, 31329, 32128, 70, 76, 79, 80, 
  1475. X        81, 82, 170, 13001, 6400, 71, 120, 5418, 26365, 72, 73, 3804, 
  1476. X        14619, 73, 6453, 0, 74, 11260, 8760, 74, 76, 11260, 8000, 74, 76, 
  1477. X        9724, 0, 74, 28849, 19200, 75, 28849, 19574, 75, 4060, 32614, 76, 
  1478. X        79, 80, 81, 82, 127, 128, 129, 170, 176, 4042, 3685, 77, 19401, 
  1479. X        17600, 78, 7129, 25600, 78, 13412, 8000, 78, 107, 3260, 0, 83, 
  1480. X        28849, 22495, 84, 26220, 0, 85, 31201, 32845, 86, 30541, 19860, 
  1481. X        86, 29403, 17600, 86, 3801, 32000, 87, 88, 90, 26081, 31209, 87, 
  1482. X        88, 26453, 25600, 89, 1978, 26453, 89, 1978, 43861, 89, 19242, 
  1483. X        8480, 91, 112, 9974, 8658, 91, 31209, 5240, 92, 3258, 29012, 93, 
  1484. X        4055, 40000, 94, 8525, 28852, 95, 30735, 35412, 96, 12041, 23000, 
  1485. X        97, 5521, 25600, 97, 30729, 32000, 97, 13654, 17600, 97, 3252, 
  1486. X        19815, 98, 113, 29003, 8660, 99, 37178, 8000, 101, 110, 13415, 
  1487. X        17600, 102, 103, 42218, 18129, 104, 148, 5409, 22400, 104, 30446, 
  1488. X        8000, 105, 4858, 6400, 106, 188, 23020, 8000, 106, 186, 30895, 
  1489. X        32000, 107, 187, 5535, 37360, 108, 3929, 5240, 109, 10459, 8000, 
  1490. X        110, 11775, 21000, 111, 152, 31201, 21440, 118, 32613, 3200, 119, 
  1491. X        5545, 26400, 119, 11921, 35400, 119, 13001, 7160, 120, 26212, 
  1492. X        8760, 120, 14936, 19413, 120, 19819, 8739, 120, 5411, 8760, 121, 
  1493. X        19579, 32374, 122, 31201, 5240, 122, 26329, 23215, 122, 31048, 
  1494. X        8725, 126, 3252, 19200, 126, 8803, 13174, 130, 131, 36852, 19960, 
  1495. X        130, 131, 198, 205, 206, 207, 208, 36852, 19200, 130, 131, 159, 
  1496. X        160, 161, 162, 163, 164, 198, 205, 206, 207, 208, 10081, 30840, 
  1497. X        132, 26215, 19200, 133, 30623, 1885, 133, 32374, 0, 134, 30446, 
  1498. X        10335, 134, 31049, 5019, 134, 32042, 19400, 135, 26219, 32000, 
  1499. X        136, 166, 167, 26219, 32760, 136, 4043, 17820, 137, 4851, 8000, 
  1500. X        138, 139, 140, 141, 14529, 22680, 139, 140, 141, 29402, 24800, 
  1501. X        142, 29402, 4200, 142, 6136, 24000, 142, 30084, 51200, 142, 25654,
  1502. X        8480, 159, 160, 161, 162, 163, 164, 213, 26212, 8000, 166, 167, 
  1503. X        32081, 28800, 168, 33082, 2320, 168, 2338, 24920, 169, 26209, 
  1504. X        23200, 169, 3401, 20800, 171, 6761, 19200, 177, 31254, 6761, 177, 
  1505. X        49600, 0, 178, 24565, 0, 178, 51200, 0, 179, 32935, 0, 179, 52800,
  1506. X        0, 180, 32338, 8200, 180, 54400, 0, 181, 10221, 28800, 181, 
  1507. X        56000, 0, 182, 9982, 8000, 182, 57600, 0, 183, 30784, 0, 183, 
  1508. X        59200, 0, 184, 30622, 8560, 184, 60800, 0, 185, 8367, 13600, 185, 
  1509. X        36858, 22774, 186, 30889, 32000, 187, 15200, 0, 192, 32321, 32000,
  1510. X        192, 32329, 30400, 192, 21000, 0, 193, 21819, 8486, 193, 5525, 
  1511. X        32374, 193, 2092, 0, 194, 8885, 29820, 194, 32725, 2381, 195, 
  1512. X        35252, 33642, 195, 30449, 19818, 196, 32205, 32320, 197, 11941, 
  1513. X        8000, 199, 12854, 6400, 200, 12854, 7160, 200, 20054, 11960, 201, 
  1514. X        1978, 0, 201, 2489, 2415, 202, 10105, 8720, 202, 32725, 8000, 144,
  1515. X        145, 204, 5289, 9840, 146, 147, 19404, 11400, 146, 147, 26218, 
  1516. X        32721, 149, 31201, 5240, 148, 3572, 19960, 148, 35261, 20000, 150,
  1517. X        5642, 8000, 150, 19420, 32218, 67, 150, 5658, 32049, 151, 19567, 
  1518. X        13600, 151, 22619, 32000, 153, 8287, 0, 154, 155, 3261, 3685, 156,
  1519. X        4854, 2345, 157, 158, 3578, 6400, 203, 31014, 11289, 203, 12041, 
  1520. X        28960, 210, 12041, 28969, 210, 29419, 8000, 211, 31218, 33740, 
  1521. X        212, 5121, 22965, 214, 17805, 25818, 215, 19244, 6618, 216, -1 }
  1522. X#endif
  1523. X    ;
  1524. X
  1525. X#endif
  1526. END_OF_FILE
  1527. if test 34040 -ne `wc -c <'parse.h'`; then
  1528.     echo shar: \"'parse.h'\" unpacked with wrong size!
  1529. fi
  1530. # end of 'parse.h'
  1531. fi
  1532. echo shar: End of archive 5 \(of 12\).
  1533. cp /dev/null ark5isdone
  1534. MISSING=""
  1535. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  1536.     if test ! -f ark${I}isdone ; then
  1537.     MISSING="${MISSING} ${I}"
  1538.     fi
  1539. done
  1540. if test "${MISSING}" = "" ; then
  1541.     echo You have unpacked all 12 archives.
  1542.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1543. else
  1544.     echo You still need to unpack the following archives:
  1545.     echo "        " ${MISSING}
  1546. fi
  1547. ##  End of shell archive.
  1548. exit 0
  1549.